import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

// https://vite.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url)),
    },
  },
  // 在组件自动导入样式文件
  css: {
    preprocessorOptions: {
      // define global scss variable
      scss: {
        additionalData: `
				@import '@/styles/variables.scss';
			`,
      },
    },
  },
  // vite内部自带的服务器
  server: {
    port: 3000,
    open: true,
    proxy: {
      // ajax跨域：
      // 静态地址：http://localhost:5173/
      // 接口地址：http://123.56.141.187:82/user/login
      // 如：ajax: http://localhost:5173/api/login
      // 会发生代理： http://www.baidu.com/api/login
      // 如果接口服务器地址：http://www.baidu.com/login
      // 1. /api 如果请求的地址包含/api 就会发生代理
      // 2. target: 接口服务器域名
      // 3. rewrite: 路径重写
      // '/api': {
      //   target: 'http://www.baidu.com',
      //   changeOrigin: true,
      //   rewrite: path => path.replace(/^\/api/, ''),
      // },

      '/ftyyptapi': {
        target: 'http://123.56.141.187:82',
        changeOrigin: true,
      },
    },
  },
})
